今天要來講講Pandas使用sort_index排序,
會稍微複習到一些昨天的東西(DAY28 Pandas自訂資料index索引值),
直接來看範例吧。
首先,先建立一個DataFrame
結構的資料,
或是有匯入的資料轉成DataFrame結構也行。
這邊為了方便對照,先印出完整的資料來看。
studentsData = {
'studentId': ['001', '002', '003'],
'Name': ['A', 'B', 'C'],
'Height': [175, 153, 164],
'Weight': [80, 45, 75],
'City': ['New York', 'Los Angeles', 'Chicago']
}
students = pd.DataFrame(studentsData)
print(students)
印出資料如下,
可以看到系統已自動將資料預設index數值0、1、2。
studentId Name Height Weight City
0 001 A 175 80 New York
1 002 B 153 45 Los Angeles
2 003 C 164 75 Chicago
這裡複習一下昨天的自訂資料index索引值,
把index索引值換掉(這部分不懂的可以回昨天的文章看看),
這裡型別使用字串來做示範。
studentId Name Height Weight City
id3 001 A 175 80 New York
id1 002 B 153 45 Los Angeles
id2 003 C 164 75 Chicago
當資料index索引值已經可以辨識順序時,
可以使用sort_index語法自動排序,
在資料後加上.sort_index()
,
其中ascending項是可被省略的。
這裡要特別注意的是ascending,
ascending參數為布林值,預設為True,
而ascending的參數代表了資料的順序,
簡單來說
True代表了遞增(由小到大)(預設),
False代表了遞減(由大到小);
使用方式如下。
print(students.sort_index()) # ascending預設為True
# print(students.sort_index(ascending=True)) # 與上列相同
印出資料如下,
可以看到index索引值依照順序遞增(由小到大)排列,
而資料順序也隨之移動。
studentId Name Height Weight City
id1 002 B 153 45 Los Angeles
id2 003 C 164 75 Chicago
id3 001 A 175 80 New York
如同前面所述,
這裡加上ascending=False,
使排序遞減(由大到小),
使用方式如下。
print(students.sort_index(ascending=False))
印出資料如下,
可以看到index索引值依照順序序遞減(由大到小)排列,
而資料順序也隨之移動。
studentId Name Height Weight City
id3 001 A 175 80 New York
id2 003 C 164 75 Chicago
id1 002 B 153 45 Los Angeles
結合昨天的自訂資料index索引值,
今天學會如何使用Pandas的sort_index排序,
讓資料變得整齊,
才能進一步的做資料的整理。